//
//  XBShareManager.h
//  XBShare
//
//  Created by admin on 2018/5/14.
//  Copyright © 2018年 肖世恒. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "XBShareAPI.h"

@interface XBShareManager : NSObject

+ (XBShareManager *)defaultManager;

/**
 * 处理应用拉起协议
 * \param url 处理被其他应用呼起时的逻辑
 * \return 处理结果，YES表示成功，NO表示失败
 */
- (BOOL)handleOpenURL:(NSURL *)url ;

/**
 打开QQ 或者TIM 加群
 
 @param platformType QQ 填4或者5 TIM 填6或者7 填其他的会输出错误,TIM和QQ如果其中一个安装另一个未安装，会自动变为已安装的应用
 @param groupNum 群号
 @param groupKey 秘钥
 @param completion 回调  错误信息包含在 userInfo ，NSLocalizedDescription 键里
 */
- (void)openQQJoinGroupNumWithplatformType:(XBSocialPlatformType)platformType groupNum:(NSString *)groupNum groupKey:(NSString *)groupKey completion:(XBSocialRequestCompletionHandler)completion;


/**
 打开QQ 或者TIM 临时聊天
 
 @param platformType QQ 填4或者5 TIM 填6或者7 填其他的会输出错误,TIM和QQ如果其中一个安装另一个未安装，会自动变为已安装的应用
 @param qqNum QQ号码
 @param completion 回调  错误信息包含在 userInfo ，NSLocalizedDescription 键里
 */
- (void)openQQChatWith:(XBSocialPlatformType)platformType QQNum:(NSString *)qqNum completion:(XBSocialRequestCompletionHandler)completion;



/**
 打开微信 跳转微信公众号  公众要和 微信沟通合作的

 @param name 微信号
 @param extMsg 消息
 @param completion 回调
 */
- (void)openWXChatWithJumpName:(NSString *)name  extMsg:(NSString *)extMsg completion:(XBSocialRequestCompletionHandler)completion;

/**
 打开微信 用微信访问 网站  注意项目bid 要和 注册的appid 绑定一致 不然会跳转失败
 
 @param url 网址    网站一定是微信的域名的网址 比如微信公众号的文章
 @param completion 回调  错误信息包含在 userInfo ，NSLocalizedDescription 键里
 */
- (void)openWXChatWithUrl:(NSString *)url completion:(XBSocialRequestCompletionHandler)completion;


/**
 打开微信 发起临时聊天   注意项目bid 要和 注册的appid 绑定一致 不然会跳转失败
 
 @param wxNum 微信号   这个功能被 微信限制  只能是 微信的合作方 有权限 跳转成功
 @param completion 回调  错误信息包含在 userInfo ，NSLocalizedDescription 键里
 */
- (void)openWXChatWithWXNum:(NSString *)wxNum completion:(XBSocialRequestCompletionHandler)completion;


/**
 分享
 
 @param platformType 类型 TIM和QQ如果其中一个安装另一个未安装，会自动变为已安装的应用
 
 @param messageObject 分享对象
 @param completion 回调  错误信息包含在 userInfo ，NSLocalizedDescription 键里
 */
- (void)shareToPlatform:(XBSocialPlatformType)platformType
          messageObject:(XBSocialMessageObject *)messageObject
             completion:(XBSocialRequestCompletionHandler)completion;

@end

